<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    //调用show2函数
    show2('英雄');
    //函数：可以重复执行的代码块。
    //在js中可以先调用函数再声明函数
    //声明函数：
    function show(){
        //函数体
        console.log('hello world!')
    }
    //调用函数
    show();
   /*if(true){
        show();
    }*/
   //函数参数
   function show2(name){  //形参
    console.log('hello'+name);
   }
   //调用函数
   show2('张三');//实参
    //加法运算的函数并调用
    function  add(num1,num2){
        let sum;
        sum = num1+num2;
        console.log(num1+num2);
        console.log(num1+'+'+num2+'='+sum);
    }
    add(1,2);
    //函数用于判断两个值中的最大值
    function getMax(num1,num2){
        console.log(arguments);//参数，不是数组
        console.log(arguments.length);//参数的个数
        console.log(arguments[0]);//通过索引（从0开始）获取对应位置参数值
        if(num1>num2){
            console.log('最大值是'+num1);
        }else{
            console.log('最大值是'+num2);
        }
    } 
    getMax(52,36);
    //完善获取最大值的函数：  
    /*1.保证输入的参数不少于2；
      2.保证传入的参数必须是数值型  变量typeof；  
      不满足以上两个条件的情况打印出'参数不合法'*/
    function getMax2(){
        let max;
        if(arguments.length>=2){
            let max = arguments[0];
            for(let i=0;i<arguments.length;i++){
                if(typeof arguments[i]!='number'){
                    console.log('参数不合法');
                    return NaN;//结束执行
                }else{
                    if(arguments[i]>max){
                        max = arguments[i];
                    }
                }
            }
            console.log(max);
        }else{
            console.log(max);
        }
    }
    console.log('----------------------');
    getMax2();
    console.log('----------------------');
    getMax2(1,2);
    console.log('----------------------');
    getMax2('j','s');
    console.log('----------------------');
    getMax2(1,5,6,4);
    //返回值return：结束函数执行,一般写在最后,return后的语句不再执行
  
   
    //控制参数
</script>
</html>